Xenomai
3.0.5
|
The Cobalt core is a co-kernel which supplements the Linux kernel for delivering real-time services with very low latency. More...
Modules | |
Asynchronous Procedure Calls | |
Services for scheduling function calls in the Linux domain. | |
In-kernel arithmetics | |
A collection of helpers performing arithmetics not implicitly available from kernel context via GCC helpers. | |
Buffer descriptor | |
Abstraction for copying data to/from different address spaces. | |
Clock services | |
Debugging services | |
Dynamic memory allocation services | |
The implementation of the memory allocator follows the algorithm described in a USENIX 1988 paper called "Design of a General
Purpose Memory Allocator for the 4.3BSD Unix Kernel" by Marshall K. | |
Interrupt management | |
Locking services | |
The Xenomai core deals with concurrent activities from two distinct kernels running side-by-side. | |
Lightweight key-to-object mapping service | |
A map is a simple indexing structure which associates unique integer keys with pointers to objects. | |
Registry services | |
The registry provides a mean to index object descriptors on unique alphanumeric keys. | |
Thread scheduling control | |
Synchronous I/O multiplexing | |
This module implements the services needed for implementing the POSIX select() service, or any other event multiplexing services. | |
Thread synchronization services | |
Thread services | |
Timer services | |
The Xenomai timer facility depends on a clock source (xnclock) for scheduling the next activation times. | |
Virtual file services | |
Virtual files provide a mean to export Xenomai object states to user-space, based on common kernel interfaces. | |
The Cobalt core is a co-kernel which supplements the Linux kernel for delivering real-time services with very low latency.
It implements a set of generic RTOS building blocks, which the Cobalt/POSIX and Cobalt/RTDM APIs are based on. Cobalt has higher priority over the Linux kernel activities.
Tag | Context on entry |
---|---|
primary-only | Must be called from a Cobalt task in primary mode |
primary-timed | Requires a Cobalt task in primary mode if timed |
coreirq-only | Must be called from a Cobalt IRQ handler |
secondary-only | Must be called from a Cobalt task in secondary mode or regular Linux task |
rtdm-task | Must be called from a RTDM driver task |
mode-unrestricted | May be called from a Cobalt task in either primary or secondary mode |
task-unrestricted | May be called from a Cobalt or regular Linux task indifferently |
unrestricted | May be called from any context previously described |
atomic-entry | Caller must currently hold the big Cobalt kernel lock (nklock) |
Tag | Description |
---|---|
might-switch | The Cobalt kernel may switch context |